package com.suse.service.community.service;

/**
 * <p>
 * 点赞业务接口
 * </p>
 *
 * @author 辜玉彬
 * @since 2022-09-02 13:37
 */
public interface LikeService {

    /**
     * 点赞和取消点赞
     * @param entityType 实体类型
     * @param entityId 实体ID
     */
    void like(int entityType, int entityId, int entityUserId);

    /**
     * 获取实体点赞数
     * @param entityType 实体类型
     * @param entityId  实体ID
     * @return 点赞数
     */
    long getEntityLikeCount(int entityType, int entityId);

    /**
     * 获取实体的点赞状态
     * @return 点赞状态
     */
    int getEntityLikeStatus(int entityType, int entityId);

    /**
     * 获取用户的点赞数
     * @param userId 用户ID
     * @return 点赞数
     */
    int getUserLikeCount(int userId);

}
